#!/usr/bin/python

#  Marmoset: a student project snapshot, submission, testing and code review
#  system developed by the Univ. of Maryland, College Park
#
#  Developed as part of Jaime Spacco's Ph.D. thesis work, continuing effort led
#  by William Pugh. See http://marmoset.cs.umd.edu/
#
#  Copyright 2005 - 2011, Univ. of Maryland
#
#  Licensed under the Apache License, Version 2.0 (the "License"); you may not
#  use this file except in compliance with the License. You may obtain a copy of
#  the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#  License for the specific language governing permissions and limitations under
#  the License.

import os
import getopt
import sys

def usage():
    print """
Usage: %s -c <CRONTAB.sh script> (defaults to $HOME/buildSever/BuildServer/CRONTAB.sh)
          -h print this help message
          on / off
""" % (sys.argv[0])
    sys.exit(1)

crontabScript="%s/buildServer/BuildServer/CRONTAB.sh" % os.environ["HOME"]
try:
    opts, args = getopt.getopt(sys.argv[1:], 'hc:')
except getopt.GetoptError:
    usage()

for o, a in opts:
    if o == "-h": 
       usage()
    if o == "-c":
        crontabScript=a

if len(args) < 1:
    usage()

mode=args[0]

#print "mode: %s" % mode
# TODO: Ensure crontabScript exists

infile=open(crontabScript, 'r')
list=infile.readlines()
infile.close()

outfile=open(crontabScript, 'w')
for line in list:
    line=line.strip("^#")
    if mode=="off":
        line="#%s" % line
    outfile.write(line)
outfile.flush()
outfile.close()

#print "home is %s" % HOME

